App({
  $http(pathname, data = {}, method = 'get') {
    /**
     * 发起网络请求
     * @param  {[type]} pathname URL 的路径部分。
     * @param  {[type]} data     data 参数，默认为{}。
     * @param  {[type]} method   请求方式，参数必须大写。toUpperCase() 小写转大写方法。默认get。
     */
    return new Promise((resolve, reject) => {
      if (method != 'get') {
        wx.showLoading({
          title: '提交中...',
          mask: true
        })
      }
      wx.showNavigationBarLoading()
      wx.request({
        url: this.globalData.url + pathname,
        data: data,
        header: {
          'content-type': 'application/json',
          'X-YXG-TOKEN': this.globalData.openid || ''
        },
        method: method.toUpperCase(),
        success(res) {
          wx.hideLoading()
          wx.hideNavigationBarLoading()
          if (res.data.flag != '-1') {
            resolve(res.data.data)
          } else {
            wx.showToast({
              title: res.data.msg,
              icon: 'none',
              duration: 5000
            })
            reject(res.data.data)
          }
        },
        fail(error) {
          wx.hideLoading()
          wx.hideNavigationBarLoading()
          wx.showToast({
            title: '接口异常，请联系运维。',
            icon: 'none',
            duration: 5000
          })
        }
      })
    })
  },
  getUserInfo() {
    if (!this.globalData.is_bind) {
      // 调用登录接口,get openID
      wx.login({
        success: res => {
          this.$http('/token', {
            code: res.code
          }).then(response => {
            this.globalData.openid = response.token
            this.globalData.is_bind = response.is_bind
          })
        }
      })
    }
  },
  globalData: {
    openid: null,
    is_bind: false,
    url: 'https://fsyxgkj.com/applet'
  }
})
